#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int a[1000000], b[1000000];
//	int i = 0;
//	scanf("%d", &n);
//	for (i = 0;i < n;i++)
//	{
//		scanf("%d%d", &a[i], &b[i]);
//
//		for (i = 0;i < n;i++)
//		{
//			if (a[i] > b[i])
//			{
//				if (a[i] - b[i] == 1 || (a[i] - b[i]) % 3 == 0)
//				{
//					printf("YES\n");
//					continue;
//				}
//			}
//			if (a[i] < b[i])
//			{
//				if (b[i] - a[i] == 1 || (b[i] - a[i]) % 3 == 0)
//				{
//					printf("Yes\n");
//					continue;
//				}
//			}
//			printf("No\n");
//		}
//		return 0;
//	}
//}

#include<stdio.h>
#define M 3
#define N 3

void change(int image[M][N], int sr, int sc,int oldcolor)
{
	if (image[sr + 1][sc] == oldcolor && sr + 1 <= M)
	{
		image[sr + 1][sc] = image[sr][sc];
		change(image, sr + 1, sc, oldcolor);
	}
	if (image[sr][sc + 1] == oldcolor && sc + 1 <= N)
	{
		image[sr][sc + 1] = image[sr][sc];
		change(image, sr, sc + 1, oldcolor);
	}
	if (image[sr][sc - 1] == oldcolor && sc - 1 >= 0)
	{
		image[sr][sc - 1] = image[sr][sc];
		change(image, sr, sc - 1, oldcolor);
	}
	if (image[sr - 1][sc] == oldcolor && sr - 1 >= 0)
	{
		image[sr - 1][sc] = image[sr][sc];
		change(image, sr - 1 , sc , oldcolor);
	}
	
}

int main()
{
	int image[M][N]={1,1,1,1,1,0,1,0,1};
	int i=0,j=0;
	int sr, sc, newcolor, oldcolor;
	scanf("%d%d%d", &sr, &sc, &newcolor);
	printf("\n");
	oldcolor = image[sr][sc];
	image[sr][sc] = newcolor;
	change(image, sr, sc, oldcolor);
	for (i = 0;i < M;i++)
	{
		for (j = 0;j < N;j++)
		{
			printf("%d ",image[i][j]);
		}
		printf("\n");
	}
	return 0;
}